
package jp.aist.gtrc.plus.scheduler.specific.sge.jaxb.qstat;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for JAXB_QSTAT_job complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="JAXB_QSTAT_job">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="JB_job_number" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="JB_priority" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
 *         &lt;element name="JB_name" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="JB_owner" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="state" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="JB_submission_time" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
 *         &lt;element name="JAT_start_time" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
 *         &lt;element name="slots" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="tasks" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element ref="{}hard_request" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="hard_req_queue" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "JAXB_QSTAT_job", propOrder = {
    "jbJobNumber",
    "jbPriority",
    "jbName",
    "jbOwner",
    "state",
    "jbSubmissionTime",
    "jatStartTime",
    "slots",
    "tasks",
    "hardRequest",
    "hardReqQueue"
})
public class JAXBQSTATJob {

    @XmlElement(name = "JB_job_number")
    protected int jbJobNumber;
    @XmlElement(name = "JB_priority")
    protected Integer jbPriority;
    @XmlElement(name = "JB_name", required = true)
    protected String jbName;
    @XmlElement(name = "JB_owner", required = true)
    protected String jbOwner;
    @XmlElement(required = true)
    protected String state;
    @XmlElement(name = "JB_submission_time")
    protected XMLGregorianCalendar jbSubmissionTime;
    @XmlElement(name = "JAT_start_time")
    protected XMLGregorianCalendar jatStartTime;
    protected int slots;
    protected String tasks;
    @XmlElement(name = "hard_request")
    protected List<HardRequest> hardRequest;
    @XmlElement(name = "hard_req_queue")
    protected List<String> hardReqQueue;

    /**
     * Gets the value of the jbJobNumber property.
     * 
     */
    public int getJBJobNumber() {
        return jbJobNumber;
    }

    /**
     * Sets the value of the jbJobNumber property.
     * 
     */
    public void setJBJobNumber(int value) {
        this.jbJobNumber = value;
    }

    /**
     * Gets the value of the jbPriority property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getJBPriority() {
        return jbPriority;
    }

    /**
     * Sets the value of the jbPriority property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setJBPriority(Integer value) {
        this.jbPriority = value;
    }

    /**
     * Gets the value of the jbName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getJBName() {
        return jbName;
    }

    /**
     * Sets the value of the jbName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setJBName(String value) {
        this.jbName = value;
    }

    /**
     * Gets the value of the jbOwner property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getJBOwner() {
        return jbOwner;
    }

    /**
     * Sets the value of the jbOwner property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setJBOwner(String value) {
        this.jbOwner = value;
    }

    /**
     * Gets the value of the state property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getState() {
        return state;
    }

    /**
     * Sets the value of the state property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setState(String value) {
        this.state = value;
    }

    /**
     * Gets the value of the jbSubmissionTime property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getJBSubmissionTime() {
        return jbSubmissionTime;
    }

    /**
     * Sets the value of the jbSubmissionTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setJBSubmissionTime(XMLGregorianCalendar value) {
        this.jbSubmissionTime = value;
    }

    /**
     * Gets the value of the jatStartTime property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getJATStartTime() {
        return jatStartTime;
    }

    /**
     * Sets the value of the jatStartTime property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setJATStartTime(XMLGregorianCalendar value) {
        this.jatStartTime = value;
    }

    /**
     * Gets the value of the slots property.
     * 
     */
    public int getSlots() {
        return slots;
    }

    /**
     * Sets the value of the slots property.
     * 
     */
    public void setSlots(int value) {
        this.slots = value;
    }

    /**
     * Gets the value of the tasks property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTasks() {
        return tasks;
    }

    /**
     * Sets the value of the tasks property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTasks(String value) {
        this.tasks = value;
    }

    /**
     * Gets the value of the hardRequest property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the hardRequest property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getHardRequest().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link HardRequest }
     * 
     * 
     */
    public List<HardRequest> getHardRequest() {
        if (hardRequest == null) {
            hardRequest = new ArrayList<HardRequest>();
        }
        return this.hardRequest;
    }

    /**
     * Gets the value of the hardReqQueue property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the hardReqQueue property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getHardReqQueue().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getHardReqQueue() {
        if (hardReqQueue == null) {
            hardReqQueue = new ArrayList<String>();
        }
        return this.hardReqQueue;
    }

}
